package com.xyb.dao;

import com.xyb.entity.SysMenuRole;
import java.util.List;

/**
 * 菜单角色表(SysMenuRole)表数据库访问层
 *
 * @author makejava
 * @since 2021-09-11 01:52:24
 */
public interface SysMenuRoleDao {
    /**
     * 【插入单条】
     *
     * @param sysMenuRole 实例对象
     * @return 影响行数
     */
    int insertSysMenuRole(SysMenuRole sysMenuRole);
    
    /**
     * 【删除单条】根据主键 id
     *
     * @param menuRoleId 主键id
     * @return 影响行数
     */
    int deleteSysMenuRoleByMenuRoleId(Long menuRoleId);

    /**
     * 【更新单条】根据主键 id
     *
     * @param sysMenuRole 主键id
     * @param sysMenuRole 更新数据
     * @return 影响行数
     */
    int updateSysMenuRoleByMenuRoleId(SysMenuRole sysMenuRole);

    /**
     * 【查询单条】根据主键id,查询所有字段
     *
     * @param menuRoleId  主键id
     * @return SysMenuRole 对象信息
     */
    SysMenuRole selectSysMenuRoleByMenuRoleId(Long menuRoleId);
    
    
    //****************************** 批量操作 ******************************
    
    /**
     * 【批量插入】根据对象列表
     *
     * @param list 新增对象列表
     * @return 影响行数
     */
    int insertSysMenuRoleBySysMenuRoleList(List<SysMenuRole> list);
    
    /**
     * 【批量删除】根据主键 id 列表
     *
     * @param list 主键id列表
     * @return 影响行数
     */
    int deleteSysMenuRoleByMenuRoleIdList(List<Long> list);
    
    /**
     * 【批量更新】根据对象列表,
     *
     * @param list 对象列表
     * @return 影响行数
     */
    int updateSysMenuRoleBySysMenuRoleList(List<SysMenuRole> list);
    
    /**
     * 【批量查询】根据主键列表,查询所有字段
     *
     * @param list 主键id列表
     * @return List<SysMenuRole> 对象列表
     */
    List<SysMenuRole> selectSysMenuRoleListByMenuRoleIdList(List<Long> list);

    int deleteSysMenuByMenuId(Long menuId);

    int deleteSysMenuByRoleId(Long roleId);

    List<SysMenuRole> selectSysMenuRoleByRoleId(Long roleId);
}